Delays in Esterel
نویسندگان
چکیده
The timing details in many embedded applications are inseparable from other behavioural aspects. Time is also a resource; a physical constraint on system design that introduces limitations and costs. Design and implementation choices are often explored and decided simultaneously, complicating both tasks and encouraging platform specific programs where the meaning of a specification is mixed with the mechanisms of implementation. The Esterel programming language is ideal for describing complex reactive behaviours. But, perhaps surprisingly, timing details cannot be expressed without making significant implementation choices at early stages of design. We illustrate this point with an example application where reactive behaviour and physical time are intertwined. A simple solution is proposed: add a statement for expressing delays in physical time. While there are similar statements or library calls in many programming languages, the novelty of our proposal is that the delay statements are later replaced with standard Esterel statements when platform details become available. Delays are thus expressed directly in terms of physical time, but later implemented as a discrete controller using existing techniques. This approach is familiar in control system design where analytical models are constructed in continuous time and then later discretized to produce implementations. We present some ideas for performing the translation and outline some of the remaining challenges and uncertainties.
منابع مشابه
A Formal Methodology for Hardware/software Co-design of Embedded Systems
Our methodology for control-dominated embedded reactive systems is based on an implementation-independent representation, Codesign Finite State Machines (CFSMs). This representation allows us to preserve se-mantical correctness throughout the design process, because CFSMs assume unbounded, non-zero reaction delays, that correspond both to hardware and software behavior. CFSMs can be generated f...
متن کاملThe Semantics of Pure Esterel
We present a survey of the main semantics of Pure Esterel, the communication kernel of the Esterel synchronous reactive language. We start by an informal presentation of the Pure Esterel language. We then present the be-havioral semantics that deenes the language. We deene the notion of a haltset that corresponds to a distributed program counter. Using haltsets, we show that Pure Esterel progra...
متن کاملSpecification and Verification of Interactors: A Tour of Esterel
Esterel is a mature reactive language used to specify and implement real time and critical systems. In this article, we investigate its use to specify and verify interactors. We show that Esterel is a mature language with a sound semantics. Esterel programs can be compiled efficiently into several languages and a comprehensive set of tools is available to verify, test, translate into automata a...
متن کامل04491 – The Kiel Esterel Processor
The synchronous language Esterel is an established language for developing reactive systems. It gives an abstract, well-defined and executable description of the application, and can be synthesized into hardware and software. Typically, an Esterel program is first translated into other, lower-level languages (such as VHDL or C), and then compiled further. However, there is also the alternative ...
متن کاملIntroducing Mutual Exclusion in Esterel
We show how the synchronous programming language Esterel can be extended by a new statement to implement mutual exclusive code sections. We also show how the thereby extended Esterel language can be translated back to standard Esterel and we prove the correctness of this transformation. Additionally, we show that the translation fits well into different verification approaches.
متن کامل